package com.campusbackend.entity.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户详情VO
 * 
 * @author yezi
 * @since 2025-07-27
 */
@Data
@Schema(name = "UserDetailVO", description = "用户详情对象")
public class UserDetailVO {
    
    @Schema(description = "用户ID")
    private Long id;
    
    @Schema(description = "用户类型：1-教师，2-学生")
    private Integer userType;
    
    @Schema(description = "用户类型名称")
    private String userTypeName;
    
    @Schema(description = "登录标识（工号/学号）")
    private String loginId;
    
    @Schema(description = "用户名")
    private String username;
    
    @Schema(description = "真实姓名")
    private String realName;
    
    @Schema(description = "手机号")
    private String phone;
    
    @Schema(description = "邮箱")
    private String email;
    
    @Schema(description = "学院（学生）")
    private String college;
    
    @Schema(description = "专业职位（教师）")
    private String professionalTitle;
    
    @Schema(description = "年龄（学生）")
    private Integer age;
    
    @Schema(description = "身份证号（教师）")
    private String idCard;
    
    @Schema(description = "审核状态：0-待审核，1-审核通过，2-审核拒绝")
    private Byte auditStatus;
    
    @Schema(description = "审核状态名称")
    private String auditStatusName;
    
    @Schema(description = "审核备注")
    private String auditReason;
    
    @Schema(description = "审核时间")
    private LocalDateTime auditTime;
    
    @Schema(description = "账号状态：1-正常，0-禁用")
    private Byte status;
    
    @Schema(description = "账号状态名称")
    private String statusName;
    
    @Schema(description = "技能列表（学生）")
    private List<String> skills;
    
    @Schema(description = "注册时间")
    private LocalDateTime createTime;
    
    @Schema(description = "最后更新时间")
    private LocalDateTime updateTime;
}
